Systems and methods for rfid tag arbitration where rfid tags generate multiple random numbers for different arbitration sessions

ABSTRACT

A radio frequency identification device (RFID) tag includes a processor, a memory configured to store an identification number that distinguishes the tag from other tags, and a transponder coupled to the memory and the processor. The tag arbitrates by selecting a random number in response to an inventory query from a reader. The tag responds to the reader depending on the random number selected. The tag is configured for multiple concurrent inventory session arbitrations with multiple readers by separately storing random numbers for respective inventory session arbitrations.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No.11/700,525, filed on Jan. 30, 2007, which is scheduled to issue as U.S.Pat. No. 7,973,644 on Jul. 5, 2011, the disclosure of which isincorporated herein by reference.

BACKGROUND OF THE INVENTION

The technical field relates to radio frequency identification. Moreparticularly, various embodiments of the invention relate to methods andapparatus for inventorying radio frequency identification devices.

Radio frequency identification devices (RFIDs) are known in the art.Such devices are typically used for inventory tracking. As large numbersof objects are moved in inventory, product manufacturing, andmerchandising operations, there is a continuous challenge to accuratelymonitor the location and flow of objects. Additionally, there is acontinuing goal to determine the location of objects in an inexpensiveand streamlined manner. One way to track objects is by affixing RFIDtags to objects or groups of objects, and interrogating the RFID tagswith an interrogator or reader to determine which objects are present inany particular location. RFID tags may be provided with uniqueidentification numbers or codes in order to allow a reader todistinguish between multiple different tags.

SUMMARY OF THE INVENTION

Some RFID tags use the electromagnetic field from an interrogator forpower. Typically, these devices are passive (have no power supply),which results in a small and portable package.

Another type of RFID tag is an active RFID tag, which includes its ownsource of power, such as a battery.

If an interrogator or reader has prior knowledge of the identificationnumber of a device, the reader can specify that a response is requestedonly from the device with that identification number. Sometimes, suchinformation is not available. For example, there are occasions where areader is attempting to determine which of multiple devices are withincommunication range. When the reader sends a message to a transponderdevice requesting a reply, there is a possibility that multipletransponder devices will attempt to respond simultaneously, causing acollision, and thus an erroneous message to be received by the reader.For example, if the interrogator sends out a command requesting that alldevices within a communications range identify themselves, and receivesa large number of simultaneous replies, the interrogator may not able tointerpret any of these replies. Tag responses can interfere with eachother and the reader sees collisions or incomprehensible noise.Therefore, arbitration or singulation schemes are employed to permitcommunications that are free of collisions. The term singulation refersto identifying a specific individual tag in a multiple tag environment.

In some arbitration or singulation schemes, described in commonlyassigned U.S. Pat. Nos. 5,627,544; 5,583,850; 5,500,650; and 5,365,551,all to Snodgrass et al. and the disclosures of all of which areincorporated herein by reference, a reader sends a command causing eachdevice of a potentially large number of responding devices to select arandom number from a known range and use it as that device's arbitrationnumber. By transmitting requests for identification to various subsetsof the full range of arbitration numbers, and checking for an error-freeresponse, the interrogator quickly determines the arbitration number ofevery responder station capable of communicating at the same time.Thereafter, the interrogator is able to conduct subsequent uninterruptedcommunication with devices, one at a time, by addressing only onedevice. Various arbitration or singulation schemes are discussed incommonly assigned U.S. Pat. Nos. 6,275,476 to Wood, Jr.; 6,118,789 toWood, Jr.; 6,072,801 to Wood, Jr. et al.; and 6,061,344 to Wood, Jr.,the disclosures of all of which are incorporated herein by reference.

It is possible to have multiple readers operating in the same location.Problems can arise when multiple readers try to conduct an inventory atthe same time.

EPCglobal is a standard setting organization that is developingstandards for electronic product codes to support the use of RFIDtechnology. One of their standards, called Class 1, Generation 2 (alsoknown as “Gen 2”) applies to passive RFID systems. These standardsevolve over time, and for a particular standard, such as Gen 2, thereare minor variations between versions. The present version of the Class1, Generation 2 standard is version 1.0.9.

The various protocols are designed to arbitrate the collisions, andEPCglobal's Gen 2 provides a specific methodology for arbitrating thecollisions. In some of the above described patents, a binary-treeapproach is used, in which some unique identifier is assigned to eachtag, Such as the electronic product code, and the reader goes down thetree of possible numbers, until it is confident that it is talking tojust a single tag. At that point the tag is read, and put to sleep. Thereader then goes back up the tree and tries to singulate another tag.This repeats until there are no more tags left responding.

DETAILED DESCRIPTION

The Gen 2 standard takes a different approach to generating aninventory. The approach used by the Gen 2 standard, has inventory roundsof 2e slots. Although the word “slot” is used in the specification, itis not really a timeslot. It is more of a counter. The process isillustrated in FIG. 1. At the beginning of each round, each tag sets itsrespective slot counter 10, 12, 14, 16, 18 to a random number, from 0 to2e-l. The reader sends a command that starts an inventory process. Anytag whose slot counter is 0 sends a reply; all other tags decrease theirslot counter by 1. This process is repeated for all 2e slots. Q is thenumber of bits, or width of the slot counter. By changing Q, the readercan optimally adjust the number of slots per round to adapt to thenumber of tags expected to be present. For example, if it is known thatthere are no more than six tags in a field, there is no need to use aslot counter that is 16 bits wide when 3 bits are sufficient. Thus Q, ofthe Gen 2 standard, is effectively a mask on the slot counter. Q issimilar to the width of the Arbitration Mask described in theabove-incorporated Snodgrass and Wood, Jr. patents.

Thus, Q is a parameter that is used to regulate the probability of tagresponse. During an inventory round, the tags respond only when theirslot counter equals zero. The slot counter contents are derived in apseudorandom manner based on the value of the parameter Q. In the Gen 2standard, Q is, for example, an integer between 0 and 15, and the numberof slots is between 2° and 215.

The Gen 2 standard further allows the user to include in an inventoryround only tags that meet certain selection criteria. Appropriatecombinations of Select commands can be used to implement Booleancriteria within a tag population.

The Gen 2 standard has also implemented a method called “Sessions” toattempt to solve the problem of two, three or four readers reading thesame population of tags in the same time period; i.e., an inventoryprocesses overlap. According to the specification, a reader shallsupport and tags shall provide four sessions, and tags shall participatein one and only one session during an inventory round. Two or moreinterrogators can use sessions to independently inventory a common tagpopulation. Tags associate a separate and independent “inventoried” flagto each of the multiple readers. After singulating a tag, aninterrogator may issue a command that causes the tag to invert itsinventoried flag for that session. However, all four sessions use thesame random number generator and same slot counter. When a tag'sarbitration procedure gets interrupted (when one sessions stops andanother session starts), the tag has to start over in an arbitrationwith a new reader and has to generate a new slot counter and handle(RN16) value. When the slot counter gets to zero, the tag replies andmay have been inventoried by the interrupting reader. But when the firstreader tries to resume its inventorying, the tag has lost its originalhandle and the reader cannot find the tag. The first reader has to beginits inventory process all over again.

Relevant portions of the Gen 2 specification will now be substantiallyrepeated, to better enable one of ordinary skill in the art tounderstand the Gen 2 arbitration procedure. According to the Gen 2specification, the inventory commands that a Gent reader or interrogatoruse include a “Query” command, a “QueryAdjust” command (describedbelow), a “QueryRep” command (described below), an “ACK” (acknowledge)command, and a “NAK” (no acknowledgement or not acknowledged) command ortransmission. The Query command initiates an inventory round and decideswhich tags participate in an inventory round. A round is a periodbetween successive Query commands.

Also according to the Gen 2 specification, the Query command containsthe slot-count parameter Q. Upon receiving a Query command,participating tags pick a random number in the range of 0 to 2e-l,inclusive, and load this value into their slot counter. Tags that pick azero transition to the reply state and reply immediately. Tags that picka nonzero value transition to an “arbitrate” state (see FIG. 3) andawait a QueryAdjust (described below) or a QueryRep command. Assuming asingle tag replies, the following occurs: a) the tag backscatters anRN16 (16 bit random or pseudorandom number) as it enters a reply state,b) the reader acknowledges the tag with an ACK COMMAND containing thesame RN16, c) the acknowledged tag transitions to an “acknowledged”state, and backscatters its PC (protocol control data), EPC (electronicproduct code data that identifies the object to which the tag is or willbe attached and distinguishes the tag from other tags) and CRC-16(cyclic redundancy check), and d) the interrogator issues a QueryAdjustor QueryRep command (not shown), causing the identified tag to invert an“inventoried” flag (i.e., from A to B or B to A) and to transition to a“ready” state, and potentially causing another tag to initiate aquery-response dialog with the interrogator, starting in step (a),above. The tag can be considered to be singulated after it isacknowledged.

If the tag fails to receive the ACK acknowledgement in step (b) within aspecified time, or receives the ACK with an erroneous RN16, it returnsto the arbitrate state. If multiple tags reply in step (a) above, butthe reader is able to resolve an RN16 from one of the tags, the readercan acknowledge the resolved tag. Unresolved tags receive erroneousRN16s from the reader and return to the arbitrate state withoutbackscattering their PC, EPC, and CRC-16.

If the reader sends a valid acknowledgement (i.e., an ACK containing thecorrect RN16) to the tag in the acknowledged state, the tagre-backscatters its PC, EPC, and CRC-16.

At any point the reader may issue a NAK. In response to receiving theNAK, all tags in the inventory round return to the arbitrate statewithout changing their inventoried flag.

After issuing a Query command to initiate an inventory round, the readertypically issues one or more QueryAdjust or QueryRep commands. TheQueryAdjust repeats a previous Query and may increment or decrement Q,but does not introduce new tags into the round. QueryRep repeats aprevious Query without changing any parameters and without introducingnew tags into the round. An inventory round can contain multipleQueryAdjust or QueryRep commands. At some point the reader will issue anew Query, thereby starting a new inventory round.

Tags in the arbitrate or reply states that receive a QueryAdjust firstadjust Q (increment, decrement, or leave unchanged), then pick a randomvalue in the range of 0 to 2e-l, inclusive, and load this random valueinto their slot counter. Tags that pick zero transition to the replystate and reply immediately. Tags that pick a nonzero value transitionto the arbitrate state and await a QueryAdjust or a QueryRep command.

Tags in the arbitrate state decrement their slot counter every time theyreceive a QueryRep command, transitioning to the reply state andbackscattering an RN16 when their slot counter reaches 0000(hexadecimal). Tags whose slot counter reached 0000, who replied, andwho were not acknowledged (including tags that responded to the originalQuery and were not acknowledged) return to the arbitrate state with aslot value of 0000 and decrement this slot value from 0000 to 7FFF(hexadecimal) at the next QueryRep, thereby effectively preventingsubsequent replies until the tag loads a new random value into its slotcounter. Tags reply at least once in 2e-l QueryRep commands.

Although tag inventory is based on a random protocol, the Q-parameteraffords network control by allowing a reader to regulate the probabilityof tag responses. Q is an integer in the range of (0, 15) thus, theassociated tag-response probabilities range from 2°=1 to 215=0.000031.

To illustrate an inventory operation, the Gen 2 specification providesthe following specific example. Assume a population of sixty-fourpowered tags in the ready state. A reader first issues a Select commandto select a subpopulation of tags. Assume that sixteen tags match theselection criteria. Further, assume that twelve of the sixteen selectedtags each have their inventoried flag set to A in session SO. The readerissues a Query specifying (SL, Q=4, SO, A). Each of the 12 tags havingtheir inventoried flag set to A picks a random number in the range of(0, 15) and loads the value into its slot counter. Tags that pick a zerorespond immediately. The Query has three possible outcomes:

a) No tags reply. The reader may issue another Query, or it may issue aQueryAdjust or QueryRep.

b) One tag replies. See FIG. 2. The tag transitions to the reply stateand backscatters 20 an RN16. The reader acknowledges the tag by sending22 an ACK. If the tag receives the ACK with a correct RN16, itbackscatters 24 its PC, EPC, and CRC-16 and transitions to theacknowledged state. If the tag receives the ACK with an incorrect RN16,it transitions to arbitrate. Assuming a successful ACK, the reader mayeither access the acknowledged tag or issue 26 a Query Adjust orQueryRep to invert the tag's inventoried flag from A to B and send thetag to the ready state. A Query with a matching prior-round sessionparameter will also invert the inventoried flag from A to B.

c) Multiple tags reply. The reader observes a backscattered waveformcomprising multiple RN16s. It may try to resolve the collision and issuean ACK; not resolve the collision and issue a Query Adjust, QueryRep, orNAK; or quickly identify the collision and issue a Query Adjust orQueryRep before the collided tags have finished backscattering. In thelatter case, the collided tags, not observing a valid reply within thespecified time, return to the arbitrate state and await the next Queryof Query Adjust command. The Gen 2 arbitration process is also describedin connection with a tag state diagram included in the Gen 2specification, a relevant portion of which is reproduced as FIG. 3.Arbitrate state 30, reply state 32, and acknowledged state 34 correspondto such states as discussed above. FIG. 3 also shows that the term“handle,” as used in the Gen 2 specification, corresponds to an RN16that a reader uses as a nickname for a tag after a tag has a zero slotvalue and is acknowledged. Additional details, if desired, can be seenin the Gen 2 specification.

Instead of asking for a tag with a specific masked random number asdescribed in the above incorporated Snodgrass and Wood, Jr. patents (andthe reader subsequently going up or down through all numbers in themasked random number space, e.g., using the logic trees of the Wood, Jr.patents), the slot counters of tags based on the Gen 2 specificationcount down toward 0 in response to receiving each QueryRep command. Whena tag slot counter reaches 0, the tag generates a new random number andreturns it to the reader, and this is used as a temporary tag number or“handle” by the reader. The Gen 2 handle is substantially similar to theRandom Number of the Snodgrass and Wood, Jr. patents. The Gen 2 processis substantially similar to the Snodgrass and Wood Jr. processes exceptthat the Gen 2 tags make the countdown steps and issue new and largerandom numbers. This requires significantly more complexity in the tags,where real estate is expensive, instead of in the readers.

A conventional RFID tag 36, shown in FIG. 4, has one random numbergenerator 38, one location 40 for storing random numbers, and one maskor Q value storage location 42. There is a problem when a second reader44 initiates an arbitration process concurrent with the arbitrationprocess of a first reader 46. The second reader 44, while it may have adifferent session number, must command tags to each generate a newrandom number and mask. The new random numbers and new masks may differin value from those generated for the first reader arbitration. Sinceeach tag 36 stores only one random number and one mask or Q value, thefirst random number and mask are lost to the tags and unavailable to thefirst reader 46 for use upon continuing (resuming) after a secondreader's arbitration process. The first reader 46 must send commands forits tag population to generate new random numbers and perhaps differentmasks (Q values), both of which can lead to prolonged inventory times.The problem is exacerbated if an additional reader 48 is introduced. Insome cases, the inventory processes may never finish. In other words,the EPCglobal system does not truly provide multiple concurrentinventorying, even for two sessions, let alone four.

More particularly, using conventional tags in multiple concurrentarbitrations will result in extra sortings of tags. This is because,when a second reader starts its sort, the second reader's command willcause the tags to generate new random numbers and Q values that are, atthat point, lost to the first reader's sorting process. This causes thefirst reader to ask for a new random number that is masked to the firstQ value. The first (interrupted) sorting addressing sequence is lost andmust be restarted upon resuming. In the case of multiple interruptionsand restarts, the arbitration process of any reader may in some cases beextended indefinitely and not converge to a conclusion.

BRIEF DESCRIPTIONS OF THE DRAWINGS

FIG. 1 is a timing diagram illustrating an inventory operation and slotcounter operation in accordance with the EPCglobal method.

FIG. 2 is a communication sequence diagram illustrating datacommunications between a tag and a reader if a single tag picks a zerovalue for its slot counter.

FIG. 3 is a state diagram illustrating states that a tag may go throughas part of an arbitration process.

FIG. 4 is a block diagram illustrating problems with prior art designs.

FIG. 5 is a block diagram illustrating a system in accordance withvarious embodiments of the invention.

FIG. 6 is a block diagram illustrating data stored in a tag of thesystem of FIG. 5, for multiple inventory sessions, in some embodiments.

FIG. 7 is a block diagram illustrating data stored in a reader of thesystem of FIG. 5, in some embodiments.

DETAILED DESCRIPTION OF THE ILLUSTRATED EMBODIMENTS

Some embodiments of the invention relate to increasing the efficiency ofmultiple concurrent arbitration of an RFID tag population. Someembodiments of the invention relate to improving re-entry into aninterrupted inventory session.

Some embodiments provide a method to enhance RFID tag arbitration whichutilizes a random number generator (RNG), RNG register, RNG mask (Qvalue), and mask register, for each of a multiplicity of concurrent tagarbitration processes; thereby increasing the efficiency andeffectiveness of each individual arbitration process and overallarbitration processes for inventorying multiple concurrent tagpopulations, while preventing the case of infinite loop non-convergenceof the processes.

FIG. 5 shows a system 50 in accordance with some embodiments of theinvention. The system 50 includes one or more tags and one or morereaders. More particularly, in the embodiment shown in FIG. 5, thesystem 50 includes readers 52, 53, 54, 55, and 56, and tags 60, 61, 62,63, 64, 65, 66, 67, 68, and 69. Additional or fewer or readers can beincluded. Additional or fewer tags could be included. Further, there isno necessary relationship between the number of tags and the number ofreaders.

In some embodiments, the system 50 includes a reader controller 82controlling the readers 52-56. The reader controller 82 permits controlof the various readers as well as communication of data between thevarious readers. The reader controller 82 can further be used for readermultiplexing as described in applicant's commonly assigned patentapplication titled “RFID Communications Systems and Methods, And RFIDReaders and Systems” by John Tuttle (attorney docket no. Ml 22-3366). Insome embodiments, the reader controller 82 may be coupled to a network84. This could be useful for control from a remote location or via theInternet, for example. In some embodiments, the readers 52-56 maycommunicate with each other directly (or via an intermediate reader),instead of through a reader controller 82, whether or not the readercontroller 82 is included. For example, the readers may be connected byhard wire or wirelessly (e.g., by Wi-Fi or other wirelesscommunication). In some embodiments, the reader other embodiments, thereader controller 82 is omitted.

Respective tags 60-69 include memory 70, a processor 71, and atransponder or transceiver 72 (e.g., including a backscatter modulator).In some embodiments, one or more of the tags include all of the hardwarerequired by the Gen 2 specification. In other embodiments, one or moreof the tags include some subset of the hardware required by the Gen 2specification.

Respective readers 52-56 include memory 57, a processor 58, and atransponder or transceiver 59 for communications with tags 60-69. Thereaders may also include a Wi-Fi or other wireless transceiver 51 forwireless communications with other readers, in addition to thetransponder 59.

FIG. 6 shows data stored in respective tags 60-69, in some embodiments.One tag 60 is illustrated in FIG. 6, for simplicity. The data can bestored in the memory 70, for example (see FIG. 5).

Some embodiments provide, in respective tags 60-69, separate memorylocations for random number or handle values 86, 88, 90, 92, and 94 foreach arbitration or singulation process 96, 98, 100, 102, and 104. Thesecorrespond, for example, to the RN16s of Gen 2, though they may havemore or less than 16 bits. The random numbers or handles may be storedin any appropriate register or memory location on the tags. The randomnumber or handle values may change and are affected by commands from areader, as specified in the Gen 2 specifications for example. However,the last used (most recent) random number or handle values for eachinventory session is stored in each tag.

Some embodiments provide, in respective tags 60-69, separate memorylocations for Q values or arbitration mask values 106, 108, 110, 112,and 114 for each arbitration or singulation process 96, 98, 100, 102,and 104. The Q value indicates the width, in number of bits, of the slotcounter, in some embodiments. The Q value or mask may be stored in anyappropriate register or memory location on the tags. The Q values maychange and are affected by commands from a reader, as specified in theGen 2 specifications for example. However the last used (most recent) Qvalue or arbitration mask for each inventory session 96, 98, 100, 102,and 104 is stored in each tag.

Some embodiments provide, in respective tags 60-69, separate slotcounters 16, 118, 120, 122, and 124 for respective arbitrations.Respective tags are configured to reply to a reader if the value in aslot counter associated with a current or active arbitration is zero.The slot values are selected at random and are decremented in responseto QueryAdjust or QueryRep commands, as set forth in the Gen 2specification.

In some embodiments, respective tags 60-69 also store information, inmemory locations 126, 128, 130, 132, and 134, identifying the session orreader associated with the stored last slot counter, last Q value, andlast random number value or handle for a session.

The inventory sessions 96, 98, 100, 102, and 104 would typicallyrepresent different readers 52-56. However, it is possible for a secondreader to complete an interrupted inventory session of a first reader ifdata from a first inventory session is passed on to the second readereither directly from the first reader or from the reader controller 82.

FIG. 7 shows data stored in respective readers 52-56, in someembodiments. One reader 52 is illustrated in FIG. 7, for simplicity. Thedata can be stored in the memory 57, for example (see FIG. 5). The datashown in FIG. 7 and described below can alternatively or additionally bestored in the reader controller 82. Further, the data for one reader'sarbitration can also be passed to and stored in another reader.

In the embodiment shown in FIG. 7, the respective readers 52-56 storeinformation, in memory locations 140, 142, 144, 146, 148, and 150, forhandles for previously singulated tags, the handle being a nickname fora tag and being different from the tag's electronic product code. Thehandle corresponds, for example, to the RN16 of the Gen 2 specification,though more or less than 16 bits are possible. If an arbitration isinterrupted, the reader is able to resume the arbitration without a needto cause singulated tags to generate new handles, even if another readerperforms another arbitration session and causes tags to generatehandles. This is because handles for previous arbitrations are storedand not lost due to a new arbitration process.

In some embodiments, the readers 52-56 also store information, in memorylocations 152, 154, 156, 158, 160, and 162 for last used Q values orarbitration masks for respective arbitrations. In some embodiments, no Qvalue is used or stored in the reader or tags. For example, a Q value ofall 1 bits could be assumed, resulting in no masking taking place.

Some embodiments provide, in respective readers 52-56, memory locations164, 166, 168, 170, 172, and 174 for slot counter values for previouslysingulated tags. The slot counter values are used to affect the order inwhich tags attempt to communicate with a reader in an arbitration. Whenslot counter values reach zero, a tag responds to a reader in an activearbitration, as described above.

Some embodiments provide, in respective readers 52-56, memory locations176, 178, 180, 182, 184, and 186 for session number identifying an(e.g., interrupted) arbitration. Q values, handles, and slot countervalues for tags that were singulated in an arbitration session areassociated with the session number for that session.

This session number, Q value, handle, and slot counter data could bestored in arrays or matrices, in some embodiments.

In some embodiments, session number information, and last Q and lastRN16 (Handle) information read from a tag for a given session is storedin a reader (or in the reader controller), and the reader is configuredto selectively issue a command to resume a session. The command may be,for example, RESUME SESSION X, where X is a session number. The commandpasses session number, last Q and last Handle parameters from the readerto the tag from which those parameters were last read by the reader. Thereader may then resume the inventory session that got interrupted.

In some embodiments, as is the case with the Gen 2 standard, the tagsand readers have inventory rounds of 2e slots. At the beginning of eachround every selected tag sets one of their slot counters, associatedwith an inventorying, to a random number from 0 to 2e-l.

As is the case with the Gen 2 standard, a user is able to include in aninventory round only tags that meet certain selection criteria.Appropriate combinations of Select commands can be used to implementBoolean criteria within a tag population. This is why the term“selected” is used in the previous paragraph.

In operation, the reader sends a command that starts a slot. Any tagwhose slot counter, for the present inventorying, is 0 sends a reply;all other tags decrease their slot counter by 1. This process isrepeated in response to QueryRep commands. Q is the number of bits, orwidth of the slot counters.

In some embodiments, Q is, for example, an integer between 0 and 15, andthe number of slots is between 2° and 215. In other embodiments, Qvalues indicating a wider width of the slot counters can be used.

As is the case in the Gen 2 specification, the tags support multiplesessions. Readers can use different sessions to independently inventorya common tag population. Tags associate a separate and independent“inventoried” flag to each of several readers. After singulating a tag,a reader may issue a command that causes the tag to invert itsinventoried flag for that session. Unlike in the Gen 2 specification,tags may be inventoried by more than four readers or more than foursessions. A reader controller 82 may pass inventory session data from afirst reader to a second reader, enabling a second reader to resume anysession begun by a first reader. Such second reader may be multiplexedto a first reader's antenna(s) under control of reader controller 82.

While the above discussion has been in terms of an improvement to theGen 2 system and process, it will be readily apparent that the sameconcepts can be used to improve the Snodgrass and Wood, Jr. processes.For example, the Gen 2 handle or RN16 is substantially similar to theRandom Number of the Snodgrass and Wood, Jr. patents. The Gen 2 Qparameter is substantially similar to the width of the Arbitration Maskof the Snodgrass and Wood, Jr. patents. Thus, in some embodiments, thesystem and process of any of the Snodgrass and Wood, Jr. patents ismodified by adding storing a plurality of separate Arbitration Mask andRandom Number values for multiple simultaneous arbitrations.

Thus, a system and method has been provided to increase the efficiencyand effectiveness of each individual arbitration process and overallarbitration processes for inventorying multiple concurrent tagpopulations, while preventing the case of infinite loop non-convergenceof the processes.

In compliance with the statute, the subject matter disclosed herein hasbeen described in language more or less specific as to structural andmethodical features. It is to be understood, however, that the claimsare not limited to the specific features shown and described, since themeans herein disclosed comprise example embodiments. The claims are thusto be afforded full scope as literally worded, and to be appropriatelyinterpreted in accordance with the doctrine of equivalents.

Although the invention herein has been described with reference toparticular embodiments, it is to be understood that these embodimentsare merely illustrative of the principles and applications of thepresent invention. It is therefore to be understood that numerousmodifications may be made to the illustrative embodiments and that otherarrangements may be devised without departing from the spirit and scopeof the present invention as defined by the appended claims.

1. A radio frequency identification device (RFID) tag comprising: aprocessor; a memory configured to store an identification number thatdistinguishes the tag from other tags; a transponder coupled to thememory and the processor, the tag being configured to arbitrate byselecting a random number, in response to an inventory query from areader, and to respond to the reader depending on the random numberselected, the tag being further configured for multiple concurrentinventory session arbitrations with multiple readers by separatelystoring random numbers for respective inventory session arbitrations. 2.An RFID tag in accordance with claim 1 wherein the random numbers arestored in slot counters in the memory, wherein the tag includes separateslot counters for respective inventory session arbitrations, and whereinthe tag is configured to reply to a reader if a value in a slot counterassociated with an arbitration is zero.
 3. An RFID tag in accordancewith claim 2 wherein the slot counter is decremented in response to acommand from a reader if the tag is in an arbitration with the reader.4. An RFID tag in accordance with claim 1 configured to store aplurality of Q values in the memory, where Q represents a size of a slotcounter, wherein respective Q values are stored for respective inventorysession arbitrations.
 5. An RFID tag in accordance with claim 1configured to store a plurality of session values in the memory,identifying which reader is attempting to inventory the tag, whereinrespective session values are stored for respective inventory sessionarbitrations.
 6. An RFID tag in accordance with claim 1 configured tostore a plurality of RN values in the memory, wherein the RN values arerandom numbers used by respective readers as handles, wherein respectiveRN values are stored for respective inventory session arbitrations. 7.An RFID tag in accordance with claim 1 wherein the transponder is abackscatter transponder.
 8. An RFID reader configured to use arbitrationto singulate unknown radio frequency identification tags in a field,different tags having different electronic product codes, the RFIDreader comprising: a transponder; a processor; and a memory configuredto store, for respective inventory session arbitrations, handles forpreviously singulated tags, each handle being a nickname for a tag andbeing different from the tag's electronic product code, wherein, if anarbitration is interrupted, the reader is able to resume the arbitrationwithout a need to cause singulated tags to generate new handles, even ifanother reader performs another arbitration session and causes tags togenerate handles.
 9. An RFID reader in accordance with claim 8 whereinthe memory is configured to store last used Q values for respectiveinventory session arbitrations, where Q represents a size of a slotcounter.
 10. An RFID reader in accordance with claim 8 wherein thememory is configured to store last used arbitration mask values forrespective inventory session arbitrations.
 11. An RFID reader inaccordance with claim 8 wherein the memory is configured to store slotcounter values for previously singulated tags, wherein the slot countervalues are used to affect an order in which tags attempt to communicatewith a reader in an arbitration.
 12. An RFID reader in accordance withclaim 9 wherein the memory is configured to store slot counter valuesfor previously singulated tags, wherein the slot counter values are usedto affect an order in which tags attempt to communicate with a reader inan arbitration.
 13. An RFID reader in accordance with claim 12 whereinthe memory is configured to store a session number identifying aninterrupted arbitration, and to associate the stored Q values, thehandles, and the slot counter values with the corresponding sessionnumber.
 14. An RFID reader in accordance with claim 8 wherein the memoryis configured to store session numbers identifying interrupted inventorysession arbitrations, and to associate handles with the session numbers.15. A system comprising: a plurality of RFID tags, each of the RFID tagsincluding: a first processor; a first memory configured to store anidentification number that distinguishes the tag from other tags; and afirst transponder coupled to the first memory and the first processor,the tag being configured to arbitrate by selecting a random number, inresponse to an inventory query from a reader, and to respond to thereader depending on the random number selected, the tag being furtherconfigured for multiple concurrent inventory session arbitrations withmultiple readers by separately storing random numbers for respectiveinventory session arbitrations; and a plurality of RFID readersconfigured to use arbitration to singulate radio frequencyidentification tags, each of the RFID readers including: a secondtransponder; a second processor; and a second memory configured tostore, for respective arbitration sessions, handles for singulated tags,the handles being nicknames for tags and being different from a tag'sidentification number, wherein, if an arbitration is interrupted for oneof the readers, that reader is able to resume and continue thearbitration without a need to cause singulated tags to generate newhandles, even if another of the readers performs another arbitration andcauses tags to generate handles.
 16. A system in accordance with claim15 wherein the random numbers are stored in slot counters, wherein thetags respectively include multiple slot counters, and wherein the tagsare configured to reply to a reader if a value in a slot counter becomeszero during an arbitration.
 17. A system in accordance with claim 16wherein the slot counters are decremented in response to a predeterminedcommand from a first reader for tags in an arbitration session with thefirst reader.
 18. A system in accordance with claim 15 whereinrespective RFID tags are configured to store a plurality of Q values,where Q represents a size of a slot counter, wherein respective Q valuesare stored for respective inventory session arbitrations.
 19. A systemin accordance with claim 15 wherein respective RFID tags are configuredto store a plurality of session values, each session value identifyingwhich reader is attempting to inventory the tag, wherein respectivesession values are stored for respective inventory session arbitrations.20. A system in accordance with claim 15 wherein respective RFID tagsare configured to store a plurality of RN values, the RN values beingrandom numbers used by respective readers as handles, wherein respectiveRN values are stored for respective inventory session arbitrations. 21.A system in accordance with claim 15 wherein the transponder ofrespective tags is a backscatter transponder.
 22. A system in accordancewith claim 15 wherein the respective readers are configured to storelast used Q values for respective inventory session arbitrations,wherein Q represents a size of a slot counter.
 23. A system inaccordance with claim 18 wherein the respective readers are configuredto store last used Q values for respective inventory sessionarbitrations.
 24. A system in accordance with claim 15 wherein therespective readers are configured to store last used arbitration maskvalues for respective inventory session arbitrations.
 25. A system inaccordance with claim 15 wherein the respective readers are configuredto store slot counter values for previously singulated tags, wherein theslot counter values are used to affect an order in which tags attempt tocommunicate with a reader in an arbitration.
 26. A system in accordancewith claim 16 wherein the respective readers are configured to storeslot counter values for previously singulated tags, wherein the slotcounter values are used to affect an order in which tags attempt tocommunicate with a reader in an arbitration.
 27. A system in accordancewith claim 23 wherein respective readers are configured to store slotcounter values for previously singulated tags, wherein the slot countervalues are used to affect an order in which tags attempt to communicatewith a reader in an arbitration.
 28. A system in accordance with claim15 wherein respective readers are configured to store a session numberidentifying an interrupted arbitration, and to associate stored Qvalues, handles, and slot counter values with the session number.
 29. Asystem in accordance with claim 15 wherein respective readers areconfigured to store session numbers identifying interrupted inventorysession arbitrations, and to associate handles with the session numbers.30. A system in accordance with claim 15 further comprising a readercontroller coupled to at least some of the readers and configured tocontrol the at least some of the readers.
 31. A system comprising: aplurality of RFID tags, each of the RFID tags including: a firstprocessor; a first memory configured to store an identification numberthat distinguishes the tag from other tags; and a first transpondercoupled to the first memory and the first processor, the tags beingconfigured to arbitrate by selecting a random number, in response to aninventory query from a reader, and to respond to the reader depending onthe random number selected, the tags being further configured toseparately store random numbers for respective inventory sessionarbitrations; and a plurality of RFID readers configured to usearbitration to singulate radio frequency identification tags, each ofthe RFID readers including: a second transponder; a second processor;and a second memory configured to store, for respective arbitrationsessions, handles for singulated tags, the handles being nicknames fortags and being different from a tag's identification number, wherein, ifan arbitration is interrupted for a first reader, the first reader isable to resume and continue the arbitration without causing singulatedtags to generate new handles, even if a second reader performs anotherarbitration and causes tags to generate handles, wherein a third readeris configured to selectively complete an arbitration started by a fourthreader in response to having information from the inventory started bythe fourth reader passed to the third reader.
 32. A system in accordancewith claim 31 further comprising a reader controller coupled to at leastsome of the readers and configured to pass the information from theinventory started by the fourth reader to the third reader.
 33. A systemin accordance with claim 31 wherein the random numbers are stored inslot counters, wherein the tags respectively include multiple slotcounters, and wherein the tags are configured to reply to a reader if avalue in a slot counter becomes zero during an arbitration.
 34. A systemin accordance with claim 33 wherein respective RFID tags are configuredto store a plurality of Q values, where Q represents a size of a slotcounter, wherein respective Q values are stored for respective inventorysession arbitrations.
 35. A system in accordance with claim 34 whereinrespective RFID tags are configured to store a plurality of sessionvalues, the session values identifying which reader is attempting toinventory the tag, wherein respective session values are stored forrespective inventory session arbitrations.
 36. A system in accordancewith claim 35 wherein respective RFID tags are configured to store aplurality of RN values, the RN values being random numbers used byrespective readers as handles, wherein respective RN values are storedfor respective inventory session arbitrations.
 37. A system inaccordance with claim 36 wherein the respective readers are configuredto store last used Q values for respective inventory sessionarbitrations.
 38. A system in accordance with claim 37 wherein therespective readers are configured to store last used arbitration maskvalues for respective inventory session arbitrations.
 39. A system inaccordance with claim 38 wherein the respective readers are configuredto store slot counter values for previously singulated tags, whereinslot counter values are used to affect an order in which tags attempt tocommunicate with a reader in an arbitration.
 40. A system in accordancewith claim 39 wherein respective readers are configured to store asession number identifying an interrupted arbitration, and to associatestored Q values, handles, and slot counter values with the sessionnumber.
 41. A method comprising: beginning a first RFID inventorysession using a first RFID reader, the first RFID reader beingconfigured to store random numbers for tags that have been singulated;interrupting the first RFID inventory session; beginning a second RFIDinventory session using a second RFID reader, and causing RFID tags togenerate new random numbers for the second RFID inventory session, theRFID tags being configured to store the random numbers from the firstinventory session during the second RFID inventory session; and resumingthe first RFID inventory session by the first RFID reader using thestored random numbers from the first RFID inventory session.
 42. Amethod in accordance with claim 41 wherein the first RFID reader isfurther configured to store arbitration mask information from the firstinventory session, and to keep the arbitration mask information duringthe second inventory session.
 43. A method in accordance with claim 42wherein the first RFID reader is further configured to store sessioncounter information for tags that were singulated during the firstinventory session, and to keep the session counter information duringthe second inventory session.
 44. A method in accordance with claim 43wherein the RFID tags are configured to store information for multipleinventory session arbitrations.
 45. A method comprising: providing aplurality of RFID tags, each of the RFID tags including: a firstprocessor, a first memory configured to store an identification numberthat distinguishes the tag from other tags, and a first transpondercoupled to the first memory and the first processor, the tag beingconfigured to arbitrate by selecting a random number, in response to aninventory query from a reader, and to respond to the reader depending onthe random number selected, the tags being further configured toseparately store random numbers for respective inventory sessionarbitrations; providing a plurality of RFID readers configured to usearbitration to singulate radio frequency identification tags, each ofthe RFID readers including: a second transponder, a second processor,and a second memory configured to store, for respective arbitrationsessions, handles for singulated tags, the handles being nicknames fortags and being different from a tag's identification number;interrupting an arbitration for a first RFID reader by a second RFIDreader; and resuming and continuing the arbitration for the first RFIDreader using the stored handles without a need to cause singulated tagsto generate new handles.
 46. A method in accordance with claim 45comprising storing the random numbers in slot counters, wherein the tagsrespectively include multiple slot counters, and respective tagsreplying to a reader if a value in the tag's slot counter becomes zeroduring an arbitration.
 47. A method in accordance with claim 46comprising respectively decrementing the slot counters in response to apredetermined command from one of the readers for tags in an arbitrationsession with the one of the readers.
 48. A method in accordance withclaim 45 and comprising storing in respective RFID tags a plurality of Qvalues, where Q represents a size of a slot counter, wherein respectiveQ values are stored for respective inventory session arbitrations.
 49. Amethod in accordance with claim 45 comprising storing, in respectiveRFID tags, a plurality of session values that identify which reader isattempting to inventory the tag, wherein respective session values arestored for respective inventory session arbitrations.
 50. A method inaccordance with claim 45 comprising storing, in respective RFID tags, aplurality of RN values, the RN values being random numbers used byrespective readers as handles, wherein respective RN values are storedfor respective inventory session arbitrations.
 51. A method inaccordance with claim 45 comprising storing, in one of the readers, lastused Q values for an arbitration, wherein Q represents a size of a slotcounter.
 52. A method in accordance with claim 45 comprising storing, inone of the readers, last used arbitration mask values for anarbitration.
 53. A method in accordance with claim 45 comprisingstoring, in one of the readers, slot counter values for previouslysingulated tags.
 54. A method in accordance with claim 45 comprising:storing, in one of the readers, a session number identifying aninterrupted arbitration, and associating stored Q values, handles, andslot counter values with the session number, wherein Q represents a sizeof a slot counter.
 55. A method in accordance with claim 45 comprisingcoupling a reader controller to at least some of the readers controllingthe at least some of the readers using the reader controller.
 56. AnRFID reader comprising: memory configured to store a session number, andto store a last size of a slot counter and a last handle received from atag in an arbitration session; and a transponder coupled to the memoryand configured to selectively send a command to the tag to resume aninterrupted arbitration session, the command including parameters forthe session number, a last size of the slot counter, and a last handlereceived from the tag by a reader.